import 'package:flutter/material.dart';
import 'package:lx_widgets_library/config.dart';

// 常用色
class LxCol {
  // 白色
  static const Color white = Colors.white;
  // 默认页面底层背景
  static const Color backgroundColorPage = Colors.black;
  // 容器背景
  static const Color backgroundColorContainer = GrayColor.gray1;
  // 容器背景 click
  static const Color backgroundColorContainerActive = GrayColor.gray4;
  // 组件背景
  static const Color backgroundColorComponent = GrayColor.gray3;
  // 组件背景 click
  static const Color backgroundColorComponentActive = GrayColor.gray5;
  // 组件背景 disabled
  static const Color backgroundColorComponentDisabled = GrayColor.gray2;
  // 默认组件分割线
  static const Color componentStroke = GrayColor.gray3;
  // 默认边框
  static const Color componentBorder = GrayColor.gray4;
  // 主要文字色彩
  static const Color textColorPrimary = WhiteColor.white1;
  // 次要文字色彩
  static Color textColorSecondary = WhiteColor.white2;
  // 占位符文字色彩
  static Color textColorPlaceholder = WhiteColor.white3;
  // 文字 disabled态
  static Color textColorDisabled = WhiteColor.white4;
  // 链接文字
  static Color textColorLink = LxWidgetsLibraryService.to.colorType.color6;
  // 主题色文字色彩
  static Color theme = LxWidgetsLibraryService.to.colorType.color6;
  // 主题色 active
  static Color themeActive = LxWidgetsLibraryService.to.colorType.color7;
  // 主题色 disabled
  static Color themeDisabled = LxWidgetsLibraryService.to.colorType.color3;
  // 主题色 focus
  static Color themeFocus = LxWidgetsLibraryService.to.colorType.color2;
  // 主题色 dark 交互状态active使用
  static Color themeDark = LxWidgetsLibraryService.to.colorType.color1;
  // 主题色 dark active
  static Color themeDarkActive = LxWidgetsLibraryService.to.colorType.color2;
  // 错误色
  static const Color error = RedColor.red6;
  // 错误色 active
  static const Color errorActive = RedColor.red7;
  // 错误色 disabled
  static const Color errorDisabled = RedColor.red3;
  // 错误色 focus
  static const Color errorFocus = RedColor.red2;
  // 错误色 dark 交互状态使用
  static const Color errorDark = RedColor.red1;
  // 警示色
  static const Color warning = OrangeColor.orange6;
  // 警示色 active
  static const Color warningActive = OrangeColor.orange7;
  // 警示色 disabled
  static const Color warningDisabled = OrangeColor.orange3;
  // 警示色 focus
  static const Color warningFocus = OrangeColor.orange2;
  // 警示色 dark 交互状态使用
  static const Color warningDark = OrangeColor.orange1;
  // 成功色
  static const Color success = GreenColor.green6;
  // 成功色 active
  static const Color successActive = GreenColor.green7;
  // 成功色 disabled
  static const Color successDisabled = GreenColor.green3;
  // 成功色 focus
  static const Color successFocus = GreenColor.green2;
  // 成功色 dark 交互状态使用
  static const Color successDark = GreenColor.green1;
}

// 白色
class WhiteColor {
  // 标题
  static const Color white1 = Colors.white;
  // 次要文字
  static Color white2 = Colors.white.withOpacity(0.6);
  // 占位符文字
  static Color white3 = Colors.white.withOpacity(0.4);
  // 禁用状态文字
  static Color white4 = Colors.white.withOpacity(0.26);
}

// INMOTION主题颜色
class InmotionThemeColor {
  static Color inmotion1 = const Color(0xFF1F0C00).withOpacity(0.88);
  static Color inmotion2 = const Color(0xFF401A00).withOpacity(0.75);
  static Color inmotion3 = const Color(0xFF5C2500).withOpacity(0.64);
  static Color inmotion4 = const Color(0xFF873600).withOpacity(0.47);
  static Color inmotion5 = const Color(0xFFC44F00).withOpacity(0.23);
  static const Color inmotion6 = Color(0xFFFF6600);
  static Color inmotion7 = const Color(0xFFFF8533).withOpacity(0.2);
  static Color inmotion8 = const Color(0xFFFFA366).withOpacity(0.4);
  static Color inmotion9 = const Color(0xFFFFC299).withOpacity(0.6);
  static Color inmotion10 = const Color(0xFFFFE0CC).withOpacity(0.8);
}

// 电摩主题色
class TewaThemeColor {
  static Color moto1 = const Color(0xFF1A0F00).withOpacity(0.88);
  static Color moto2 = const Color(0xFF4D2900).withOpacity(0.75);
  static Color moto3 = const Color(0xFF804300).withOpacity(0.64);
  static Color moto4 = const Color(0xFFB35E00).withOpacity(0.47);
  static Color moto5 = const Color(0xFFE67800).withOpacity(0.23);
  static const Color moto6 = Color(0xFFFFA400);
  static Color moto7 = const Color(0xFFFFB733).withOpacity(0.2);
  static Color moto8 = const Color(0xFFFFCA66).withOpacity(0.4);
  static Color moto9 = const Color(0xFFFFDD99).withOpacity(0.6);
  static Color moto10 = const Color(0xFFFFEFCC).withOpacity(0.8);
}

// 中性色
class GrayColor {
  static const Color gray1 = Color(0xFF141414);
  static const Color gray2 = Color(0xFF2B2B2B);
  static const Color gray3 = Color(0xFF3F3F3F);
  static const Color gray4 = Color(0xFF5E5E5E);
  static const Color gray5 = Color(0xFF888888);
  static const Color gray6 = Color(0xFFB2B2B2);
  static const Color gray7 = Color(0xFFC8C8C8);
  static const Color gray8 = Color(0xFFDFDFDF);
  static const Color gray9 = Color(0xFFF0F0F0);
  static const Color gray10 = Color(0xFFFAFAFA);
}

// 主题色与中性色的混合色
class ThemeGrayColor {
  static const Color inmotionGray1 = Color(0xFF151312);
  static const Color inmotionGray2 = Color(0xFF2E2926);
  static const Color inmotionGray3 = Color(0xFF423C37);
  static const Color inmotionGray4 = Color(0xFF635953);
  static const Color inmotionGray5 = Color(0xFF8F8178);
  static const Color inmotionGray6 = Color(0xFFBBA99D);
  static const Color inmotionGray7 = Color(0xFFCfC0B6);
  static const Color inmotionGray8 = Color(0xFFE3D8D0);
  static const Color inmotionGray9 = Color(0xFFF2EAE6);
  static const Color inmotionGray10 = Color(0xFFFBF7F4);
}

// 薄暮色
class RedColor {
  static const Color red1 = Color(0xFF2A1215);
  static const Color red2 = Color(0xFF431418);
  static const Color red3 = Color(0xFF58181C);
  static const Color red4 = Color(0xFF791A1F);
  static const Color red5 = Color(0xFFA61D24);
  static const Color red6 = Color(0xFFD32029);
  static const Color red7 = Color(0xFFE84749);
  static const Color red8 = Color(0xFFF37370);
  static const Color red9 = Color(0xFFF89F9A);
  static const Color red10 = Color(0xFFFAC8C3);
}

// 火山色
class VolcanoColor {
  static const Color volcano1 = Color(0xFF2B1611);
  static const Color volcano2 = Color(0xFF441D12);
  static const Color volcano3 = Color(0xFF592716);
  static const Color volcano4 = Color(0xFF7C3118);
  static const Color volcano5 = Color(0xFFAA3E19);
  static const Color volcano6 = Color(0xFFD84A1B);
  static const Color volcano7 = Color(0xFFE87040);
  static const Color volcano8 = Color(0xFFF3956A);
  static const Color volcano9 = Color(0xFFF8B692);
  static const Color volcano10 = Color(0xFFFAD4BC);
}

// 日暮色
class OrangeColor {
  static const Color orange1 = Color(0xFF2B1D11);
  static const Color orange2 = Color(0xFF442A11);
  static const Color orange3 = Color(0xFF593815);
  static const Color orange4 = Color(0xFF7C4A15);
  static const Color orange5 = Color(0xFFAA6215);
  static const Color orange6 = Color(0xFFD87A16);
  static const Color orange7 = Color(0xFFE89A3C);
  static const Color orange8 = Color(0xFFF3B765);
  static const Color orange9 = Color(0xFFF8CF8D);
  static const Color orange10 = Color(0xFFFAE3B7);
}

// 金盏花
class GoldColor {
  static const Color gold1 = Color(0xFF2B2111);
  static const Color gold2 = Color(0xFF443111);
  static const Color gold3 = Color(0xFF594214);
  static const Color gold4 = Color(0xFF7C5914);
  static const Color gold5 = Color(0xFFAA7714);
  static const Color gold6 = Color(0xFFD89614);
  static const Color gold7 = Color(0xFFE8B339);
  static const Color gold8 = Color(0xFFF3CC62);
  static const Color gold9 = Color(0xFFF8DF8B);
  static const Color gold10 = Color(0xFFFAEDB5);
}

// 日出
class YellowColor {
  static const Color yellow1 = Color(0xFF2B2611);
  static const Color yellow2 = Color(0xFF443b11);
  static const Color yellow3 = Color(0xFF595014);
  static const Color yellow4 = Color(0xFF7C6E14);
  static const Color yellow5 = Color(0xFFAA9514);
  static const Color yellow6 = Color(0xFFD8BD14);
  static const Color yellow7 = Color(0xFFE8D639);
  static const Color yellow8 = Color(0xFFF3EA62);
  static const Color yellow9 = Color(0xFFF8F48B);
  static const Color yellow10 = Color(0xFFFAFAB5);
}

// 青柠
class LimeColor {
  static const Color lime1 = Color(0xFF1F2611);
  static const Color lime2 = Color(0xFF2E3C10);
  static const Color lime3 = Color(0xFF3E4F13);
  static const Color lime4 = Color(0xFF536D13);
  static const Color lime5 = Color(0xFF6F9412);
  static const Color lime6 = Color(0xFF8BBB11);
  static const Color lime7 = Color(0xFFA9D134);
  static const Color lime8 = Color(0xFFC9E75D);
  static const Color lime9 = Color(0xFFE4F88B);
  static const Color lime10 = Color(0xFFF0FAB5);
}

// 激光绿
class GreenColor {
  static const Color green1 = Color(0xFF162312);
  static const Color green2 = Color(0xFF1D3712);
  static const Color green3 = Color(0xFF274916);
  static const Color green4 = Color(0xFF306317);
  static const Color green5 = Color(0xFF3C8618);
  static const Color green6 = Color(0xFF49AA19);
  static const Color green7 = Color(0xFF6ABE39);
  static const Color green8 = Color(0xFF8FD460);
  static const Color green9 = Color(0xFFB2E58B);
  static const Color green10 = Color(0xFFD5F2BB);
}

// 明青色
class CyanColor {
  static const Color cyan1 = Color(0xFF112123);
  static const Color cyan2 = Color(0xFF113536);
  static const Color cyan3 = Color(0xFF144848);
  static const Color cyan4 = Color(0xFF146262);
  static const Color cyan5 = Color(0xFF138585);
  static const Color cyan6 = Color(0xFF13A8A8);
  static const Color cyan7 = Color(0xFF33BCB7);
  static const Color cyan8 = Color(0xFF58D1C9);
  static const Color cyan9 = Color(0xFF84E2D8);
  static const Color cyan10 = Color(0xFFB2F1E8);
}

// 拂晓蓝
class BlueColor {
  static const Color blue1 = Color(0xFF111D2C);
  static const Color blue2 = Color(0xFF112A45);
  static const Color blue3 = Color(0xFF15395B);
  static const Color blue4 = Color(0xFF164C7E);
  static const Color blue5 = Color(0xFF1765AD);
  static const Color blue6 = Color(0xFF177DDC);
  static const Color blue7 = Color(0xFF3C9AE8);
  static const Color blue8 = Color(0xFF65B7F3);
  static const Color blue9 = Color(0xFF8DCFF8);
  static const Color blue10 = Color(0xFFB7E3FA);
}

// 极客蓝
class GeekBlueColor {
  static const Color geekBlue1 = Color(0xFF131629);
  static const Color geekBlue2 = Color(0xFF161D40);
  static const Color geekBlue3 = Color(0xFF1C2755);
  static const Color geekBlue4 = Color(0xFF203175);
  static const Color geekBlue5 = Color(0xFF263EA0);
  static const Color geekBlue6 = Color(0xFF2B4ACB);
  static const Color geekBlue7 = Color(0xFF5273E0);
  static const Color geekBlue8 = Color(0xFF7F9EF3);
  static const Color geekBlue9 = Color(0xFFA8C1F8);
  static const Color geekBlue10 = Color(0xFFD2E0FA);
}

// 酱紫
class PurpleColor {
  static const Color purple1 = Color(0xFF1A1325);
  static const Color purple2 = Color(0xFF24163A);
  static const Color purple3 = Color(0xFF301C4D);
  static const Color purple4 = Color(0xFF3E2069);
  static const Color purple5 = Color(0xFF51258F);
  static const Color purple6 = Color(0xFF642AB5);
  static const Color purple7 = Color(0xFF854ECA);
  static const Color purple8 = Color(0xFFAB7AE0);
  static const Color purple9 = Color(0xFFCDA8F0);
  static const Color purple10 = Color(0xFFEBD7FA);
}

// 法式洋红
class MagentaColor {
  static const Color magenta1 = Color(0xFF291321);
  static const Color magenta2 = Color(0xFF40162F);
  static const Color magenta3 = Color(0xFF551C3B);
  static const Color magenta4 = Color(0xFF75204F);
  static const Color magenta5 = Color(0xFFA02669);
  static const Color magenta6 = Color(0xFFCB2B83);
  static const Color magenta7 = Color(0xFFE0529C);
  static const Color magenta8 = Color(0xFFF37FB7);
  static const Color magenta9 = Color(0xFFF8A8CC);
  static const Color magenta10 = Color(0xFFFAD2E3);
}
